Proving linearisability via coarse-grained abstraction
نویسندگان
چکیده
Linearisability has become the standard safety criterion for concurrent data structures ensuring that the effect of a concrete operation takes place after the execution some atomic statement (often referred to as the linearisation point). Identification of linearisation points is a non-trivial task and it is even possible for an operation to be linearised by the execution of other concurrent operations. This paper presents a method for verifying linearisability that does not require identification of linearisation points in the concrete code. Instead, we show that the concrete program is a refinement of some coarse-grained abstraction. The linearisation points in the abstraction are straightforward to identify and the linearisability proof itself is simpler due to the coarse granularity of its atomic statements. The concrete fine-grained program is a refinement of the coarse-grained program, and hence is also linearisable because every behaviour of the concrete program is a possible behaviour its abstraction.
منابع مشابه
Simplifying proofs of linearisability using layers of abstraction
Linearisability has become the standard correctness criterion for concurrent data structures, ensuring that ev-ery history of invocations and responses of concurrent operations has a matching sequential history. Existingproofs of linearisability require one to identify so-called linearisation points within the operations under con-sideration, which are atomic statements whose execut...
متن کاملModular fine-grained concurrency verification
Traditionally, concurrent data structures are protected by a single mutual exclusion lock so that only one thread may access the data structure at any time. This coarse-grained approach makes it relatively easy to reason about correctness, but it severely limits parallelism. More advanced algorithms instead perform synchronisation at a finer grain. They employ sophisticated synchronisation sche...
متن کاملProving linearisability of lock-free algorithms
Linearisability is the principal correctness condition for fine-grained concurrentalgorithms. A straightforward proof technique is to identify a point in the sourcecode as the linearisation point (the point in time when the entire observable effectof the algorithm happens atomically) and to prove that that point is indeed alinearisation point.This report identifies two commo...
متن کاملProving Opacity via Linearizability: A Sound and Complete Method
Transactional memory (TM) is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with the illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines conditions for serialising concurrent transactions. Verifying opacity is complex because one must not only consider the orderings between fine-grained (an...
متن کاملGrain Refinement of Dual Phase Steel via Tempering of Cold-Rolled Martensite
A microstructure consisting of ultrafine grained (UFG) ferrite with average grain size of ~ 0.7 µm and dispersed nano-sized carbides was produced by cold-rolling and tempering of the martensite starting microstructure in a low carbon steel. Subsequently, fine grained dual phase (DP) steel consisting of equiaxed ferrite grains with average size of ~ 5 µm and martensite islands with average size ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1212.5116 شماره
صفحات -
تاریخ انتشار 2012